The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for providing resource affinity for multi-queue network adapters via dynamic reconfiguration.
As Ethernet media speeds continue to increase, there is a greater need to use more system resources to achieve theoretical maximum performance at a lowest possible latency. System resources, in terms of Ethernet adapter requirements, involve a large physical memory footprint and corresponding direct memory access input/output memory mapping resources due to the need for a large number of transmit/receive descriptors and buffers. A 10 Gbps Ethernet driver typically consumes approximately 150 to 300 MB of physical system memory and direct memory access input/output memory per adapter.
Under traditional driver models, a device driver allocates transmit/receive resources to an amount that would permit the adapter to achieve its theoretical maximum performance. However, if the workload or network traffic is such that the maximum performance limits are not required, then the driver is consuming more resources than needed, which is a waste of system resources. Furthermore, this model does not have the capability to efficiently handle varying workloads.